package com.xunk.scene.mapper;

import com.xunk.scene.domain.SceneConditionEquipment;
import org.apache.ibatis.annotations.Param;

import java.util.List;


/**
 * @ProjectName: HIM
 * @Package: com.xunk.scene.mapper
 * @ClassName: EquipmentConditionMapper
 * @Author: luanzhiwei
 * @Description: 设备条件表映射接口
 * @Date: 2021/5/6 10:38
 * @Version: 1.0
 */
public interface SceneConditionEquipmentMapper {
    /**
     * 查询设备条件表
     *
     * @param id 设备条件表ID
     * @return 设备条件表
     */
    SceneConditionEquipment selectEquipmentConditionById(Long id);


    /**
     * 查询设备条件表
     *
     * @param sceneId 设备条件表场景ID
     * @return 设备条件表
     */
    List<SceneConditionEquipment> selectEquipmentConditionBySceneId(Long sceneId);


    /**
     * 根据设备id查询场景id
     *
     * @param deviceSn
     * @return
     */
    long selectSceneIdByDeviceSn(String deviceSn);

    /**
     * 查询设备条件表列表
     *
     * @param sceneConditionEquipment 设备条件表
     * @return 设备条件表集合
     */
    List<SceneConditionEquipment> selectEquipmentConditionList(SceneConditionEquipment sceneConditionEquipment);

    /**
     * 新增设备条件表
     *
     * @param sceneConditionEquipment 设备条件表
     * @return 结果
     */
    int insertEquipmentCondition(SceneConditionEquipment sceneConditionEquipment);

    /**
     * 修改设备条件表
     *
     * @param sceneConditionEquipment 设备条件表
     * @return 结果
     */
    int updateEquipmentCondition(SceneConditionEquipment sceneConditionEquipment);

    /**
     * 删除设备条件表
     *
     * @param id 设备条件表ID
     * @return 结果
     */
    int deleteEquipmentConditionById(Long id);

    /**
     * 删除设备条件表
     *
     * @param sceneId 设备条件表场景ID
     * @return 结果
     */
    int hideEquipmentConditionBySceneId(@Param("sceneId") Long sceneId, @Param("userId") String userId);

    /**
     * 批量删除设备条件表
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteEquipmentConditionByIds(Long[] ids);

}
